ReadTheDocsのContext Injection廃止
すべてのプロジェクトで、ビルド時の Sphinx コンテキスト インジェクションが廃止されることをお知らせします。廃止日は2024 年 10 月 7 日 (月)に設定されています。この日以降、Read the Docs はreadthedocs-sphinx-ext拡張機能をインストールせず、プロジェクトのconf.pyファイルを操作しません。
私たちの目標は、すべてのプロジェクトを他のプラットフォームやローカルと同じように Read the Docs でビルドし、ドキュメントのビルドをより簡単に理解できるようにすることです。
この変更による影響の可能性に関するすべての情報については、廃止に関するブログ投稿をお読みください。特に、Sphinx コンテキスト内のREADTHEDOCSやその他の変数は自動的に設定されなくなりました。
廃止予定のタイムライン
この変更は何千ものプロジェクトに影響を与えることを理解しているため、この廃止をユーザーに効果的に伝えるためのタイムラインを用意しています。
2024 年 7 月 29 日: 作成されたすべての新規プロジェクトに対して、Sphinx コンテキスト インジェクションを無効にし、Read the Docs アドオンを有効にします。
2024 年 10 月 7 日: Sphinx コンテキスト インジェクションを無効にし、すべてのプロジェクトで Read the Docs アドオンを有効にします。
私のプロジェクトは影響を受けますか?
中国語/日本語で書かれた PDF を作成するプロジェクトが少なくとも 1 つあります。廃止日以降、Read the Docs は、 latex_engineおよびlatex_elements Sphinx 構成の定義を停止します。つまり、PDF 形式を同じ方法で構築するには、自分で定義する必要があります。
プロジェクトを更新するにはどうすればよいですか?
conf.pyファイルを更新するためのガイドとして、次の Python スニペットを使用できます。このスニペットは、定義済みのlatex_engineおよびlatex_elements Sphinx 構成を使用して、以前の動作を維持します。
中国のプロジェクトをお持ちの場合は、
latex_engine = "xelatex"
latex_elements = { 'preamble': '\\usepackageUTF8{ctex}\n', } 代わりに、日本語のプロジェクトがある場合は次のようになります。
latex_engine = "platex"
終わりに
弊社のブログで「アドオンがデフォルトで有効に」という完全なアナウンスを読むことをお勧めします。そこには、より詳細な説明と、管理している他のプロジェクトにも影響する可能性のあるその他の同様の変更が含まれています。 そもそも、PDF出力は要らないよなあ、と思って調べてみたら、単に .readthedocs.yaml が無くてデフォルトでPDF出力状態になっているために上記の通知が来たっぽい。
通知を受けた以下のリポジトリを修正しました
そもそも .readthedocs.yamlが無かった
requirements.txt も作成した
jisou-programmer-excerption 53b5aa7 .readthedocs.yamlが無かったので追加
requirements.txt で Sphinx==4.* をpinしてたらインストールでエラーになった
思い切って Sphinx==8.0.2 に上げた
ビルドした結果は影響なさそうなので大丈夫でしょう